# Snow CLI Usage Documentation - Vulnerability Hunting Mode

Welcome to Snow CLI! Agentic coding in your terminal.

## What is Vulnerability Hunting Mode

Vulnerability Hunting Mode is a professional security analysis agent mode in Snow CLI, focused on discovering and verifying security vulnerabilities in your codebase. Unlike normal conversation mode, this mode follows a strict security analysis workflow, providing systematic vulnerability detection, evidence collection, verification script generation, and detailed reports.

## Why Use Vulnerability Hunting Mode

Security vulnerabilities can lead to serious consequences during software development. Vulnerability Hunting Mode provides professional security analysis capabilities:

- Systematic vulnerability detection process covering multiple vulnerability types
- Evidence-based analysis to avoid false positives
- Generate executable verification scripts for each vulnerability
- Detailed fix recommendations and priority ranking
- Interactive communication ensuring accurate analysis scope
- Focus on specific modules avoiding superficial analysis

## Enable Vulnerability Hunting Mode

### Toggle Using Command

Type in Snow CLI conversation interface:

```
/vulnerability-hunting
```

System will display mode toggle prompt, type command again to disable the mode.

### Mode Status

- Mode status is saved in localStorage
- Maintains last status after application restart
- Can switch back to normal mode anytime

## Core Principles

Vulnerability Hunting Mode follows these core principles:

### 1. User Query First

AI prioritizes responding to your actual questions and needs, won't arbitrarily analyze entire codebase without request.

### 2. Language Adaptation

AI always responds and generates reports in the same language as yours.

### 3. Interactive Communication

AI frequently uses interactive Q&A to:
- Clarify ambiguous requirements
- Confirm analysis scope
- Ask about specific test scenarios
- Verify discovered issues
- Get permission for code modifications

### 4. Evidence-Based Analysis

All vulnerability reports must have specific code evidence, AI won't make guesses or assumptions.

### 5. Focused Scope

Only analyze specific modules or components each time, not entire codebase at once.

### 6. Verification Required

Every vulnerability must have verification script or proof-of-concept code.

### 7. Read-Only Analysis

Unless you explicitly request, AI won't modify source code, only generates reports and recommendations.

## Complete Workflow

Vulnerability Hunting Mode follows a strict 5-phase workflow:

### Phase 1: Scope Definition (Mandatory)

**Objective**: Clearly define specific area to analyze.

**Process**:

1. **If you didn't specify module**:
   - AI explores codebase structure
   - Lists major modules and components
   - Asks which specific area you want to analyze

2. **If you specified vague area**:
   - AI breaks it down into smaller sub-components
   - Asks if you focus on all parts or specific parts

3. **Confirm before starting analysis**:
   - Prioritize which vulnerability categories (logic errors vs security issues)
   - Expected analysis depth
   - Specific concerns or known issues

**Scope Document Example**:


## Use Case Examples

### Scenario 1: Analyze Specific Module

```
You: Enter vulnerability hunting mode, analyze authentication module

AI: Okay, I've switched to vulnerability hunting mode. Let me explore the authentication module structure...

I found these authentication-related components:
1. Login flow (login.ts, auth.ts)
2. Session management (session.ts, middleware.ts)
3. Password reset (resetPassword.ts)
4. Token handling (jwt.ts, tokenService.ts)

Which specific area do you want to analyze first? Or should I check all components?

You: First check JWT token handling

AI: Understood. Before starting analysis, I want to confirm:

Do you want me to prioritize:
1. Logic errors (null checks, boundary cases, race conditions)
2. Security issues (injection, auth bypass, data leaks)
3. Check both

You: Check both

AI: Okay, I'll comprehensively analyze JWT token handling module...

[Performing analysis...]

I found the following issues:
1. [Critical] JWT signature verification missing
2. [High] Token expiry check logic error
3. [Medium] Token refresh mechanism missing

I've created verification scripts. Want to see detailed report?
```

### Scenario 2: Verify Known Issue

```
You: I suspect user input handling has SQL injection, help me verify

AI: Okay, let me locate code related to user input handling...

I found these places processing user input:
- src/controllers/userController.ts:searchUser()
- src/controllers/productController.ts:search()
- src/services/queryBuilder.ts:buildQuery()

Are these all your concerns? Or a specific function?

You: Mainly the searchUser function

AI: Understood. I'll focus on analyzing SQL injection risk in that function...

[After analysis...]

Confirmed SQL injection vulnerability! Details:
- Location: src/controllers/userController.ts:42
- Issue: Direct concatenation of user input into SQL query
- Severity: Critical

I've created verification script: .snow/vulnerability-hunting/scripts/verify-sql-injection.sh

Running this script can actually trigger the vulnerability. Need me to generate detailed report and fix recommendations?
```

### Scenario 3: Generate Security Report

You: Generate security analysis report for entire API module

AI: Okay, the API module is large. Let me list main sub-modules:

1. User API (/api/users/*)
2. Product API (/api/products/*)
3. Order API (/api/orders/*)
4. Auth API (/api/auth/*)
5. Admin API (/api/admin/*)

Since there are many modules, recommend analyzing in batches. Which one to start with?
Or should I do a quick high-level scan to find most obvious issues?

You: First do quick scan, find serious issues

AI: Understood, I'll conduct quick security scan focusing on critical vulnerabilities...

[After scanning...]

Quick scan complete, found following serious issues:

1. [Critical] User API: SQL injection (3 places)
2. [Critical] Auth API: JWT signature verification missing
3. [Critical] Admin API: Missing permission checks
4. [High] Order API: Race condition may cause duplicate charging

Recommend fixing these serious issues first. Need me to create detailed report and verification script for each issue?

## File Structure

All files generated by Vulnerability Hunting Mode are stored in project's `.snow/vulnerability-hunting/` directory:

```text
.snow/
└── vulnerability-hunting/
    ├── docs/                           # Analysis report directory
    │   ├── auth-module.md             # Authentication module report
    │   ├── api-security-scan.md       # API security scan report
    │   └── payment-module.md          # Payment module report
    └── scripts/                        # Verification script directory
        ├── verify-jwt-bypass.js       # JWT bypass verification
        ├── verify-sql-injection.sh    # SQL injection verification
        ├── verify-race-condition.js   # Race condition verification
        └── verify-auth-bypass.py      # Auth bypass verification
```


### Report Naming Convention

- Use lowercase letters and hyphens
- Format: `[module-name]-[report-type].md`
- Examples: `auth-module.md`, `api-security-scan.md`

### Script Naming Convention

- Use lowercase letters and hyphens
- Format: `verify-[vulnerability-type].[extension]`
- Examples: `verify-sql-injection.sh`, `verify-null-pointer.js`

## Best Practices

### 1. Define Clear Analysis Scope

Don't request analyzing entire codebase, instead:
- Specify specific modules or components
- Clarify focused vulnerability types
- Provide known risk points

### 2. Timely Communication

AI will frequently ask to confirm details, please:
- Answer AI's questions to clarify requirements
- Provide additional context information
- Explain specific security concerns

### 3. Verify Findings

For issues AI discovers:
- Run provided verification scripts
- Confirm in test environment
- Evaluate actual impact

### 4. Prioritize Fixes

Based on priorities in report:
- Fix critical vulnerabilities immediately
- Sort other issues by priority
- Document fix process

### 5. Continuous Improvement

After fixing vulnerabilities:
- Request AI to re-verify
- Add security tests
- Update security checklist

## Limitations and Considerations

### 1. Analysis Scope

- Only analyze specific module each time, not entire codebase
- Need to clearly specify analysis scope
- Large projects recommend multiple analyses

### 2. Verification Scripts

- Scripts should run in isolated environment
- Some scripts may require specific test environment
- Read script content carefully before running

### 3. Read-Only Mode

- Doesn't modify source code by default
- Only generates reports and fix recommendations
- Must explicitly request when needing code fixes

### 4. False Positive Possibility

- AI analysis may produce false positives
- Always verify discovered issues
- Combine with manual review

### 5. Coverage

- Cannot guarantee finding all vulnerabilities
- Focuses on common and serious security issues
- Recommend combining with other security tools

## Common Issues

**Q: What's difference between Vulnerability Hunting Mode and normal mode?**

A: Vulnerability Hunting Mode is specialized security analysis agent, follows strict 5-phase workflow, generates detailed reports and verification scripts. Normal mode is more general, suitable for daily development tasks.

**Q: How long does analyzing a module take?**

A: Depends on module size and complexity. Small modules (few hundred lines) may take several minutes, medium modules (several thousand lines) may take 10-30 minutes, large modules recommend splitting analysis.

**Q: Are verification scripts safe?**

A: Verification scripts are designed to run safely, won't cause permanent damage. But recommend running in isolated test environment, don't execute in production environment.

**Q: Can AI automatically fix vulnerabilities?**

A: Not by default. AI only provides fix recommendations. If you need automatic fixes, must explicitly request, and AI will seek your confirmation first.

**Q: How to view previous analysis reports?**

A: All reports are saved in `.snow/vulnerability-hunting/docs/` directory, can view anytime.

**Q: Can I customize analysis categories?**

A: Yes. AI will ask before starting which categories you focus on. You can specify only checking logic errors, only checking security issues, or checking both.

**Q: What programming languages does Vulnerability Hunting Mode support?**

A: Supports common programming languages including JavaScript/TypeScript, Python, Java, Go, Rust, C#, etc. Analysis quality depends on codebase indexing status.

**Q: Will discovered vulnerabilities be automatically reported to team?**

A: No. All reports only stored locally. You need to manually share reports or integrate into your security workflow.

**Q: Can reports be exported to other formats?**

A: Reports are generated in Markdown format, can easily convert to PDF, HTML, or other formats. You can also request AI to generate reports in specific format.

**Q: How to use with CI/CD?**

A: Can run verification scripts in CI/CD process to detect if known vulnerabilities are fixed. But complete analysis recommend manual triggering as it requires interactive communication.

## Related Features

- [Command Panel Guide](./09.0.Command%20Panel%20Guide.md) - Learn about `/vulnerability-hunting` and other commands
- [Sensitive Commands Configuration](./06.Sensitive%20Commands%20Configuration.md) - Configure dangerous commands requiring confirmation
- [Codebase Setup](./04.Codebase%20Setup.md) - Enable codebase indexing to improve analysis effectiveness
